package dataAccess;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import bussinesObjetcs.ColegioBean;


public class ColegioDAO {
//	ConnectionDB connectionDB;
	private PreparedStatement consultacolegio, insertacolegio, updatecolegio;
	private Connection connection;
	
	public ColegioDAO(){
		
	}
	
	public ColegioDAO(Connection  connection){
      this.connection = connection;
	}

	public Connection getConnection(){
		return connection;
	}
		
	public void setConnection(Connection connection){
	   this.connection = connection;
	}
	
	public ArrayList<ColegioBean> getColegioList() {	
		    ArrayList<ColegioBean> colegioList = new ArrayList<ColegioBean>();
		    try {
		         consultacolegio = connection.prepareStatement("SELECT * FROM files.colegios");	   
		         // obteniendo la  lista de colegios
		         synchronized(consultacolegio) {
		            ResultSet results = consultacolegio.executeQuery();
		            // get rows data{
		            while (results.next()) {
			           ColegioBean colegio = new ColegioBean();
			           
			           colegio.setIdcolegio(results.getString("idcolegio"));
			           colegio.setNombrecolegio(results.getString("nombrecolegio"));
			           colegio.setDescripcion(results.getString("descripcion"));
			           colegio.setTelefono(results.getString("telefono"));
			           colegio.setEmail(results.getString("email"));
			           colegio.setSugerencias(results.getString("sugerencias"));
			          
			           colegioList.add(colegio);
		            }
		        }
		        consultacolegio.close();
		    } catch(SQLException sqle){
				 System.out.println(sqle);
			}	   
		    return colegioList;
	   }


	public ColegioBean searchColegio(String idcolegio) {	
		    ColegioBean colegio = null;
		    try {
		         consultacolegio = connection.prepareStatement("SELECT * FROM files.colegios WHERE idcolegio = ?");	   
		         consultacolegio.setString(1, idcolegio);
		         // obteniendo colegio
		         synchronized(consultacolegio) {
		            ResultSet results = consultacolegio.executeQuery();
		            // get rows data{
			  		  
		            while (results.next()) {	            	
			           colegio = new ColegioBean();
			           
			           colegio.setIdcolegio(results.getString("idcolegio"));
			           colegio.setNombrecolegio(results.getString("nombrecolegio"));
			           colegio.setDescripcion(results.getString("descripcion"));
			           colegio.setTelefono(results.getString("telefono"));
			           colegio.setEmail(results.getString("email"));
			           colegio.setSugerencias(results.getString("sugerencias"));
		            }
		        }
		        consultacolegio.close();
		    } catch(SQLException sqle){
				 System.out.println(sqle);
			}	   
		    return colegio;
	   }
	 public void addUser (ColegioBean colegio)  {
		 try {
		   insertacolegio = connection.prepareStatement("INSERT INTO files.colegios VALUES(?,?,?,?,?,?)");
		   synchronized(insertacolegio) {
			   
			   
			   insertacolegio.setString(1, colegio.getIdcolegio());
			   insertacolegio.setString(2, colegio.getNombrecolegio());
			   insertacolegio.setString(3, colegio.getDescripcion());
			   insertacolegio.setString(4, colegio.getTelefono());
			   insertacolegio.setString(5, colegio.getEmail());
			   insertacolegio.setString(6, colegio.getSugerencias());
			   insertacolegio.executeUpdate();
		   }
		   insertacolegio.close();
		 } catch(SQLException sqle){
			 System.out.println(sqle);
		 }
		   
	   }
	 public ColegioBean updateColegio(ColegioBean colegio) {	
		    		    try {
		         updatecolegio = connection.prepareStatement("UPDATE files.colegios SET nombrecolegio =?,descripcion=?, telefono=?,email=?,sugerencias=? WHERE idcolegio = ?");	   
		             // obteniendo colegio
		         synchronized(updatecolegio) {
		           
		            // get rows data{
			  		  
		              	
			                 
					   updatecolegio.setString(6, colegio.getIdcolegio());
					   updatecolegio.setString(1, colegio.getNombrecolegio());
					   updatecolegio.setString(2, colegio.getDescripcion());
					   updatecolegio.setString(3, colegio.getTelefono());
					   updatecolegio.setString(4, colegio.getEmail());
					   updatecolegio.setString(5, colegio.getSugerencias());
					   updatecolegio.executeUpdate();
		        }
		         updatecolegio.close();
		    } catch(SQLException sqle){
				 System.out.println(sqle);
			}	   
		    return colegio;
	   }
}
